package test;

import java.util.ArrayList;
import java.util.Scanner;

public class PasswordSystem {

//  //设计一个简单的密码管理系统，根据特定的规则对用户输入的密码(每个字符为数字或者大小写字母，长度不超过16)进行加密和解密操作，或者判断强度、生成密码，具体功能如下：
//1.加密功能：用户输入一个字符串，系统根据规则对字符串进行加密：
//      （1）将每个字符的ASCII码加上它在字符串中的位置(1开始)和偏移值3
//      （2）将字符串的第一位和最后一位调换顺序
//      （3）将字符串反转!
//      （3）将字符串反转?

    public static void main(String[] args) {
        // TODO Auto-generated method stub
         Scanner sc=new Scanner(System.in);
         System.out.println("请输入一个字符串(长度不超过16)");
          String password=sc.nextLine();
          //ToCharArray一()的用法，将字符串对象中的字符转换为一个字符数组。
          char[] array=password.toCharArray();
          //建立一个int类型数组，用于强制转换后用于偏移值
          int[] arrayNum=new int[array.length];
          //建立一个char类型的数组，便于接收char数据
          char[] Encryptarrs=new char[array.length];
          for(int i=0;i<array.length;i++) {
              arrayNum[i]=(int)array[i];
              //将每个字符的ASCII码加上它在字符串中的位置(1开始)和偏移值3
              int EncryptNum=arrayNum[i]+3;
              Encryptarrs[i]=(char)EncryptNum;
          }  
          
          //准备一个临时数组   
          char []temp=new char[array.length];
          //将原数组的内容反转赋值给数组temp
          for(int i=0;i<array.length;i++) {
              temp[i]=Encryptarrs[array.length-i-1];
          }
          System.out.println("加密后的字符串：");
          //在重新赋值给回原数组
          for(int i=0;i<temp.length;i++) {
              Encryptarrs[i]=temp[i];
              System.out.print(Encryptarrs[i]);
          }
            

//?????

          
          
    }
}

